#include <bridge_pattern.h>
#include <iostream>

using namespace std;

void RedCircle::drawCircle(int radius, int x, int y)
{
    cout << "Drawing Circle[ color: red, radius:" << radius << ", x: " << x << ", y: " << y << "]" << endl;
}

void GreenCircle::drawCircle(int radius, int x, int y)
{
    cout << "Drawing Circle[ color: green, radius:" << radius << ", x: " << x << ", y: " << y << "]" << endl;
}

BrShape::BrShape(DrawAPI* drawAPI)
{
    this->drawAPI = drawAPI;
}

BrCircle::BrCircle(int x, int y, int radius, DrawAPI* drawAPI) : BrShape(drawAPI)
{
    this->x = x;
    this->y = y;
    this->radius = radius;
}

void BrCircle::draw()
{
    drawAPI->drawCircle(radius, x, y);
}
